package com.csun.cmny.provider.vo;

import com.csun.cmny.provider.model.domain.*;
import com.csun.cmny.provider.model.vo.SetMealVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author chenzheng
 * @description:账单详情返回Vo
 * @date 2019/7/22 14:13
 */
@Data
@Table(name = "cn_omc_oldman_bill")
public class OmcOldManBillDetailVo {
    /**
     * 账单Id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 组织Id
     */
    @Column(name = "group_id")
    private Long groupId;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 老人Id
     */
    @Column(name = "old_man_id")
    private Long oldManId;

    /**
     * 缴费单号
     */
    @Column(name = "bill_number")
    private String billNumber;

    /**
     * 账单类型 1.入院账单 2.出院账单 3.调整账单 4.周期账单
     */
    @Column(name = "bill_type")
    private Integer billType;

    /**
     * 是否已缴费 0.未缴费 1.已缴费
     */
    @Column(name = "is_pay")
    private Integer isPay;

    /**
     * 预缴费用
     */
    @Column(name = "advance_pay_fee")
    private BigDecimal advancePayFee;

    /**
     * 应交合计
     */
    @Column(name = "total_pay")
    private BigDecimal totalPay;

    /**
     * 缴费时间
     */
    @Column(name = "pay_time")
    private Date payTime;

    /**
     * 押金编号
     */
    @Column(name = "cash_pledge_num")
    private String cashPledgeNum;

    /**
     * 预缴周期
     */
    @Column(name = "advance_cycle")
    private Long advanceCycle;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建人ID
     */
    @Column(name = "creator_id")
    private Long creatorId;

    /**
     * 创建时间
     */
    @Column(name = "created_time")
    private Date createdTime;

    /**
     * 最近操作人
     */
    @Column(name = "last_operator")
    private String lastOperator;

    /**
     * 最后操作人ID
     */
    @Column(name = "last_operator_id")
    private Long lastOperatorId;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;

    private String oldName;//老人姓名

    private  String idCard;//身份证号码

    private String newBedNo;//入住床位号

    private String inDate;//入住日期

    private  Integer sex;//老人性别 0.男 1.女

    private List<OmcBillItem> billItemList;//缴费项目

    private List<OmcBillItem> billItemBeforeList;//调整前的缴费项目

    private List<OmcBillItem> billItemAfterList;//调整后的缴费项目

    private List<OmcBillBackItem> billBackItemList;//退款缴费项目

    private List<OmcBillMeal> billMealList;//入院选择套餐详情

    private OmcBillInHospitalFee billInHospitalFee;//入院账单费用统计

    private OmcBillOutHospitalFee billOutHospitalFee;//出院账单费用统计

    private OmcBillPeriodFee billPeriodFee;//周期缴费单费用统计

    private OmcBillAdjustFee  billAdjustFee;//调整账单费用统计

    private SetMealVo setMealVo;//套餐
}